EC2 인스턴스의 CPU 사용량 인위적으로 올리기
안녕하세요, 임채정입니다.
이번 시간에는 CPU나 메모리의 부하 테스트를 위해 사용하는 Stress 를 사용해보려고 합니다.
Stress 다운받기
# EC2 인스턴스에 접속해서 EPEL 레포지터리를 활성화 sudo amazon-linux-extras install epel -y # Stress 설치 sudo yum install stress -y # 버전 확인 stress --version # stress 1.0.4
버전까지 확인해보면 다운이 잘 되었습니다.
실제로 사용해보기
이제 실제로 사용해보겠습니다.
먼저 명령어 실행 전에 EC2의 현재 CPU 상태를 확인하겠습니다.
현재는 평균 0.15%의 CPU를 사용하고 있습니다.
테스트로 사용할 EC2의 인스턴스 타입으로 t2.micro 를 사용하고 있기 때문에 한 개의 CPU를 500초 동안 최대한 사용하게 하는 명령어를 실행하겠습니다.
stress --cpu 1 --timeout 500
실행 후에 모니터링 상태의 변화입니다.
지금은 99.7%로 CPU의 사용률이 높게 올라갔습니다.
Stress의 다른 기능
CPU 사용률 이외에도 메모리의 부하 등 에도 사용할 수 있습니다.
-?, --help show this help statement --version show version statement -v, --verbose be verbose -q, --quiet be quiet -n, --dry-run show what would have been done -t, --timeout N timeout after N seconds --backoff N wait factor of N microseconds before work starts -c, --cpu N spawn N workers spinning on sqrt() -i, --io N spawn N workers spinning on sync() -m, --vm N spawn N workers spinning on malloc()/free() --vm-bytes B malloc B bytes per vm worker (default is 256MB) --vm-stride B touch a byte every B bytes (default is 4096) --vm-hang N sleep N secs before free (default none, 0 is inf) --vm-keep redirty memory instead of freeing and reallocating -d, --hdd N spawn N workers spinning on write()/unlink() --hdd-bytes B write B bytes per hdd worker (default is 1GB) Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
htop를 사용한 CPU 확인
이번에는 EC2 인스턴스 안에서도 CPU 사용률을 확인해보겠습니다.
# htop 설치 sudo yum install -y htop # htop 실행 htop
다음 사진과 같이 실시간으로 서버의 CPU 사용률을 확인할 수 있습니다.
지금은 거의 100%의 CPU를 사용하고 있습니다.
본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !